Device lock while in motion

ABSTRACT

In an example, a mobile device is configured to automatically lock when a detector, such as a GPS receiver, determines that the device is in motion above a certain speed threshold, such as 10 mph. Additional detectors may be used to determine whether the device is operated by the user or by a passenger, so that intelligent decisions can be made about whether to lock the device. During the lock, certain selected apps such as a GPS navigation system or music player may be enabled, with limited controls as appropriate. In some cases, hands-free operations may be available. The mobile device may also be configured to provide an automated response to incoming calls and messages.

FIELD OF THE DISCLOSURE

This application relates to the field of computer-assisted publicsafety, and more particularly to automatic locking of a mobile devicewhile in motion.

BACKGROUND

Abundant credible sociological data has shown that safety can besignificantly decreased when a user operating a car is also talking onor otherwise using a cell phone or other mobile device. It is so broadlyaccepted as to be almost an axiom that safe handling of a motor vehiclerequires the user to devote substantially his or her full attention tooperating the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is best understood from the following detaileddescription when read with the accompanying figures. It is emphasizedthat, in accordance with the standard practice in the industry, variousfeatures are not drawn to scale and are used for illustration purposesonly. In fact, the dimensions of the various features may be arbitrarilyincreased or reduced for clarity of discussion.

FIG. 1 is a perspective view of a user operating a mobile deviceaccording to one or more examples of the present Specification.

FIG. 2 is a block diagram of a computing device according to one or moreexamples of the present Specification.

FIG. 3 is a user interface according to one or more examples of thepresent Specification.

FIG. 4 is a user interface according to one or more examples of thepresent Specification.

FIG. 5 is a user interface according to one or more examples of thepresent Specification.

FIG. 6 is a user interface according to one or more examples of thepresent Specification.

FIG. 7 is a flow chart of a method according to one or more examples ofthe present Specification

DETAILED DESCRIPTION OF THE EMBODIMENTS Overview

In an example, a mobile device is configured to automatically lock whena detector, such as a GPS receiver, determines that the device is inmotion above a certain speed threshold, such as 10 mph. Additionaldetectors may also be used to determine whether the device is operatedby the user or by a passenger, so that intelligent decisions can be madeabout whether to lock the device. During the lock, certain selected appssuch as a GPS navigation system or music player may be enabled, withlimited controls as appropriate. In some cases, hands-free operationsmay be available. The mobile device may also be configured to provide anautomated response to incoming calls and messages.

EXAMPLE EMBODIMENTS OF THE DISCLOSURE

The following disclosure provides many different embodiments, orexamples, for implementing different features of the present disclosure.Specific examples of components and arrangements are described below tosimplify the present disclosure. These are, of course, merely examplesand are not intended to be limiting. Further, the present disclosure mayrepeat reference numerals and/or letters in the various examples. Thisrepetition is for the purpose of simplicity and clarity and does not initself dictate a relationship between the various embodiments and/orconfigurations discussed.

Different embodiments may have different advantages, and no particularadvantage is necessarily required of any embodiment.

Contemporary news reports often feature stories of drivers who areinjured or killed, or who injure or kill pedestrians or other drivers,when distracted by using a cell phone or other mobile device while alsooperating a motor vehicle. Many local governments have, in fact, passedlaws restricting the use of cell phones while driving, including forexample prohibiting texting while driving, requiring use of a hands-freedevice when talking on the phone while driving, prohibiting cell phoneuse in certain areas such as school zones, and even outright banning theuse of cell phones while driving.

The Applicants of the present Specification therefore recognize that itis desirable to configure a mobile device so that operation of thedevice are selectively locked while the user is driving. For example,the device may be configured to automatically enter a locked state whenit detects, such as through GPS or through an accelerometer or otherspeed detector, that it is in motion at a speed greater than a thresholdsuch as 10 miles per hour (16.7 km/h). While the phone is in a lockedstate, user interfaces such as a touch screen may be locked out, thuspreventing the user from performing useful work (or idle entertainment)while the vehicle is in motion. This enhances both individual and publicsafety.

While the phone is in the locked-out mode, certain features may beenabled to act as a proxy to actions the user may have taken. Forexample, if the user receives a text message, an automatic response maybe sent, with an informative message such as “I am currently driving andunable to respond. I will get back to you when I can safely do so.”Similarly, an automatic voice response may be played, with similar text,in response to voice call, which may then be directed straight to voicemail. In other examples, where it is considered safe and legal for theuser to speak over a hands-free link, the user may be permitted toanswer calls and speak over the hands-free link, but will otherwise belocked out from using telephone features.

In another case, the mobile device may be configured to permit limitedinteractions with certain selected applications. For example, in onecase GPS navigation app may be enabled so that some navigation featuresof the mobile device are available. In another example, limitedfunctionality of a music player may be enabled so that the user canlisten to music, such as via an auxiliary audio connection or Bluetooth.These are examples of apps that can be usefully deployed with little tono distracting interactions from the user. The GPS navigation app, forexample, may issue voice prompts for the user that do not require him tolook at the device. The music app can be configured to play through aplaylist with little or no further interaction from the user once theplaylist is launched.

In certain examples, a limited set of voice commands may also beenabled, for example via a hands-free interface in the vehicle. In thatcase, the vehicle itself may provide a microphone, and may relay voicecommands through a link such as a Bluetooth or wired link, that enablethe user to perform limited control functions while driving. This mayinclude the ability for the user to issue commands, including by way ofnon-limiting example, GPS commands (“Get directions to 123 CedarStreet”), music player commands (“Next track,” “Previous track,”“Shuffle,” “Skip to ‘Under Pressure’ by David Bowie,” “Open playlist‘Drive Time’”), commands for internet radio players (“Thumbs up,”“Thumbs down,” “Bookmark track,” “Skip track,” “Mark track threestars”), or other suitable voice commands that require limited attentionfrom the user.

The limited available function set, either of the touch interface orvoice interface, may be selected according to criteria includingsuitability for driving and minimal interaction required. On thistwo-axis spectrum, music apps and GPS navigation may score high on bothaxes, as they are tasks commonly associated with driving (users like toget directions and listen to music while driving), and require minimaluser interaction. On the other hand, tasks like taking photographs,recording video, texting, and interacting with social media sites, mayscore low on both axes.

Driver safety can also be an important issue for enterprises that may besubject to tort liability if one of its employees negligently causes atraffic accident while, for example, operating a company-owned vehicleand using a company-issued mobile phone. In another context, it isdesirable for a parent who is concerned about the safety of a minoroperating a motor vehicle—who may be an inherently inexperienced driver,and also more lacking in judgment than an adult—to restrict the newdriver's ability to operate a mobile device while driving.

According to one or more examples, the present Specification describes asystem and method for locking out certain functions of a mobilecomputing device while a user is operating a motor vehicle. According tocertain embodiments, the lockout function described herein may be aself-imposed restriction based on a policy that the user himselfinstalls on a mobile device. In other embodiments, the restrictions maybe based on enterprise mobile safety and security policies. In yetanother example, the policy may be based on a family policy, wherein aparent imposes safety restrictions on a teenager or other new driver, orother person about whom the parent is concerned. In yet another context,the methods described herein may additionally be used for data security,for example to ensure that if a mobile device is stolen, a bad actor isdenied access to enterprise data or other information.

In certain embodiments, a mobile device may operate in one of two modes:“normal” mode and “drive” mode. In normal mode, the mobile device simplyoperates according to its normal parameters. In drive mode, backgroundsoftware may monitor a suitable speed detector to determine whether themobile device is traveling above a threshold speed. When traveling abovethe threshold speed, any or all of the lockout features describedherein, or other suitable features, may be deployed.

In yet another embodiment, the mobile device may provide a “managed” or“unmanaged” mode. In unmanaged mode, the user may manually select eithernormal mode or drive mode at will. This gives the end user completeflexibility and control. In managed mode, the mobile device may enforcea managed policy defined by a policy administrator, which may be forexample an enterprise administrator or parent.

In drive mode, lockout features may include, by way of non-limitingexample:

Silencing the ringer and other notifications of inbound calls andmessages.

Automatically-responding to inbound phone calls and messages, includingthe ability for the user to optionally turn the auto-responder on oroff, and to record or select the auto-response message.

Selecting and providing a limited whitelist of enabled applications thatcan be used in drive mode, such as navigation, music, and limited voicecommands. These may be user-selectable or configured by enterprise orfamily policy.

Allowing emergency phone calls, such as calls to “911” or an equivalentservice.

Allowing the user to manually override drive mode, such as by a voicecommand, or by a touch interaction. In some cases, the touch interactionmay be selected to be deliberately difficult to perform while driving todiscourage manual overrides for trivial reasons.

Allowing limited phone interaction only if a hands-free link is enabled.

Managed mode may provide the following, by way of non-limiting example:

Automatically enabling drive mode whenever the mobile device exceeds athreshold speed, such as 10 mph.

Providing notification to a policy administrator if settings aretampered with.

Providing a notification in any case where drive mode is manuallyoverridden while in motion.

Protecting against uninstalls.

It should be appreciated that many other contexts and applications arepossible for the methods described herein and it is intended that anysuch methods that are within the spirit and scope of the appended claimsbe included therein.

FIG. 1 is a perspective view of a user 120 operating a mobile device 110while driving an automobile 130. A passenger 124 also rides inautomobile 124. In this example, user 120 may be any suitable humanactor. For example, user 120 may be an employee or agent of anenterprise, a teenager or new driver, unskilled driver, or simply asafety-conscious operator who, despite being a skilled driver, is awareof the inherent and unavoidable risks of simultaneously driving andoperating a mobile device.

In another example, user 120 may not be a human actor, but may insteadbe a machine actor. For example, user 120 may be a mobile device thatinterfaces with a server or other computing device appropriatelyconfigured to provide the methods of the present Specification. In thatcontext, mobile device 110 may be any suitable computing device,including a remote server that provides the functions described herein.In a more generic sense, user 120 may be any person, entity, or thingthat operates mobile device 110, which may be any suitable computingdevice. In it is therefore intended that the teachings of thisSpecification be broadly construed to include any suitable combinationof actors, human, machine, or otherwise, that are configured andoperable to carry out the methods described herein.

For purposes of discussion, with reference to FIG. 1, user 120 will bedescribed as a human user operating automobile 130, while passenger 124rides and may also be capable of operating mobile device 110. In thisexample, mobile device 110 has a suitable data connection to automobile130, for example a Bluetooth or other wireless connection, or a USB orother wired connection. For purposes of this discussion, a Bluetoothconnection will be used as an example.

In this example, automobile 130 includes a display 140 that is highlyvisible to user 120. In one example, display 140 is on a dashboard ofautomobile 130, and includes a large-font, high-contrast text displaythat user 120 can observe and read readily without being distracted.

Also in this example, automobile 150 includes a proximity sensor 150that is configured to detect a location of user 120 and/or mobile device110. Proximity sensor 150 may be configured to provide back to mobiledevice 110 a signal or other data stream indicating whether user 120 islocated in a driver's seat of automobile 130, or in the passenger seatof automobile 130. This may provide additional flexibility for a contentlocking engine 224 (FIG. 2) of mobile device 110. According to thismethod, when passenger 124 is operating mobile device 110, contentlocking engine 224 remains in an unlocked state. On the other hand, whenuser 120 is positioned so as to be the likely operator of automobile130, content locking engine 224 may remain in its active state.

A discrete proximity sensor 150 is disclosed by way of example, butother types of active and passive sensors may be used. For example, manyvehicles have existing pressure switches in the passenger side anddriver side seats to activate or deactivate airbags according toactivation criteria. Data from such a sensor could be used as proximitysensor 150. For example, if a pressure switch on the driver's side isactivated, and no pressure switch is activated on the passenger side,then content locking engine 224 can usefully deduce that user 120 isoperating the vehicle, and therefore content locking engine 224 shouldbe in its active state.

In another example, mobile device 110 may be placed between user 120 andpassenger 124, so that content locking engine 224 cannot usefully deducewhich user is operating mobile device 110. In that case, as a safety,content locking engine 224 may default to its active state and lockmobile device 110 while automobile 130 is in motion. An override may beprovided on a user interface to allow passenger 124 to unlock mobiledevice 110 if he or she so desires.

In another example, user 120 may also have a wearable device 160.Wearable device 160 can be communicatively coupled to mobile device 110so that content locking engine 224, in conjunction with proximity sensor150, can determine precisely where user 120 is sitting. This provides anadditional layer of assurance concerning where user 120 is located. Thismay be particularly useful in a case where driver 120 and passenger 124both operate similar mobile devices 110, and wherein it is desirable todetermine which of the two is operating automobile 130.

It should be noted, however, that the various applications andembodiments of proximity sensor 150 may be optional. In some cases, asafety or security policy may be configured to ensure that mobile device110 defaults to its active state regardless of whether proximity sensor150 is present.

In another embodiment, the teachings of this Specification may beadapted to provide enhanced data security for mobile device 110. In thatcontext, user 120 may have wearable device 160, and mobile device 110may be equipped with content locking engine 224. In this example, acombination of motion along with separation from wearable device 160 maybe used to deduce that mobile device 110 has either been lost or stolen.In that case, it may be desirable for content locking engine 224 toperform a security action, such as heavily encrypting mobile device 110,encrypting certain partitions of mobile device 110 so that enterprisedata is secured, or in some cases performing a security wipe or othersecurity action on mobile device 110.

In this example, automobile 130 includes display 140. Display 140 mayprovide useful context-sensitive data to user 120. For example, in FIG.1, display 140 indicates that mobile device 110 is currently in a lockedstate. In this example, the reason mobile device 110 is in a lockedstate is because automobile 130 is currently in motion. Additionally,display 140 informs user 120 that a vehicle is currently moving at 55miles per hour. This information may further advantageously be used toassist user 120 in ensuring that he is operating automobile 130 legally,for example, within a posted speed limit. Finally, display 140 mayprovide events of interest. For example, in this case, user 120 can seethat he has an incoming call from a friend named Jim whose phone numberis 101-555-1234.

In certain contexts, despite the fact that a call is incoming, it may bedesirable to keep mobile device 110 in a locked state. Thus, in thiscase, the notification of an incoming call is not so that user 120 cananswer the call, but simply so that user 120 is aware that Jim called,so that user 120 can call Jim back later if he wishes.

In other cases, content locking engine 224 may be configured tointeroperate with a hands-free link of mobile device 110. In this case,user 120 may be locked out from performing actions that would take hiseyes off of the road, or otherwise distract him from operating vehicle130. But certain voice commands may be enabled, for example to allowuser 120 to issue a command such as “answer call,” which will thenenable an in-vehicle hands-free link of automobile 130. Thus, in thisexample, user 120 is given the option to perform certain low riskactivities while automobile 130 is in motion.

It should be noted, however, that certain credible studies have foundthat use may not statistically increase safety over the use of a mobilehandset while operating a motor vehicle. Thus, in some embodiments, itmay be more desirable to completely lock out phone calls.

FIG. 2 is a block diagram of mobile device 110 according to one or moreexamples of the present Specification. Mobile device 110 may be anysuitable computing device. In various embodiments, a “computing device”may be or comprise, by way of non-limiting example, a computer, embeddedcomputer, embedded controller, embedded sensor, personal digitalassistant (PDA), laptop computer, cellular telephone, IP telephone,smart phone, tablet computer, convertible tablet computer, handheldcalculator, or any other electronic, microelectronic, ormicroelectromechanical device for processing and communicating data.

Mobile device 110 includes a processor 210 connected to a memory 220,having stored therein executable instructions for providing an operatingsystem 222 and content locking engine 224. Other components of mobiledevice 110 include a storage 250, network interface 260, and peripheralinterface 240.

In an example, processor 210 is communicatively coupled to memory 220via memory bus 270-3, which may be for example a direct memory access(DMA) bus. Processor 210 may be communicatively coupled to other devicesvia a system bus 270-1. As used throughout this Specification, a “bus”includes any wired or wireless interconnection line, network,connection, bundle, single bus, multiple buses, crossbar network,single-stage network, multistage network or other conduction mediumoperable to carry data, signals, or power between parts of a computingdevice, or between computing devices. It should be noted that these usesare disclosed by way of non-limiting example only, and that someembodiments may omit one or more of the foregoing buses, while othersmay employ additional or different buses.

In various examples, a “processor” may include any combination ofhardware, software, or firmware providing programmable logic, includingby way of non-limiting example a microprocessor, digital signalprocessor, field-programmable gate array, programmable logic array,application-specific integrated circuit, or virtual machine processor.

Processor 210 may be connected to memory 220 in a DMA configuration viaDMA bus 270-3. To simplify this disclosure, memory 220 is disclosed as asingle logical block, but in a physical embodiment may include one ormore blocks of any suitable volatile or non-volatile memory technologyor technologies, including for example DDR RAM, SRAM, DRAM, cache, L1 orL2 memory, on-chip memory, registers, flash, ROM, optical media, virtualmemory regions, magnetic or tape memory, or similar. In certainembodiments, memory 220 may comprise a relatively low-latency volatilemain memory, while storage 250 may comprise a relatively higher-latencynon-volatile memory. However, memory 220 and storage 250 need not bephysically separate devices, and in some examples may represent simply alogical separation of function. It should also be noted that althoughDMA is disclosed by way of non-limiting example, DMA is not the onlyprotocol consistent with this Specification, and that other memoryarchitectures are available.

Storage 250 may be any species of memory 220, or may be a separatedevice, such as a hard drive, solid-state drive, external storage,redundant array of independent disks (RAID), network-attached storage,optical storage, tape drive, backup system, cloud storage, or anycombination of the foregoing. Storage 250 may be, or may includetherein, a database or databases or data stored in other configurations,and may include a stored copy of operational software such as operatingsystem 222 and software portions of content locking engine 224. Manyother configurations are also possible, and are intended to beencompassed within the broad scope of this Specification.

Network interface 260 may be provided to communicatively couple mobiledevice 110 to a wired or wireless network. A “network,” as usedthroughout this Specification, may include any communicative platformoperable to exchange data or information within or between computingdevices, including by way of non-limiting example, an ad-hoc localnetwork, an internet architecture providing computing devices with theability to electronically interact, a plain old telephone system (POTS),which computing devices could use to perform transactions in which theymay be assisted by human operators or in which they may manually keydata into a telephone or other suitable electronic equipment, any packetdata network (PDN) offering a communications interface or exchangebetween any two nodes in a system, or any local area network (LAN),metropolitan area network (MAN), wide area network (WAN), wireless localarea network (WLAN), virtual private network (VPN), intranet, or anyother appropriate architecture or system that facilitates communicationsin a network or telephonic environment.

Content locking engine 224, in one example, is a utility or program thatcarries out a method, such as method 700 of FIG. 7, or other methodsaccording to this Specification. Content locking engine 224 may be, invarious embodiments, embodied in hardware, software, firmware, or somecombination thereof. For example, in some cases, content locking engine224 may include a special integrated circuit designed to carry out amethod or a part thereof, and may also include software instructionsoperable to instruct a processor to perform the method. In some cases,content locking engine 224 may run as a “daemon” process. A “daemon” mayinclude any program or series of executable instructions, whetherimplemented in hardware, software, firmware, or any combination thereof,that runs as a background process, a terminate-and-stay-residentprogram, a service, system extension, control panel, bootup procedure,BIOS subroutine, or any similar program that operates without directuser interaction. It should also be noted that content locking engine224 is provided by way of non-limiting example only, and that otherhardware and software, including interactive or user-mode software, mayalso be provided in conjunction with, in addition to, or instead ofcontent locking engine 224 to perform methods according to thisSpecification.

In one example, content locking engine 224 includes executableinstructions stored on a non-transitory medium operable to performmethod 700 of FIG. 7, or a similar method according to thisSpecification. At an appropriate time, such as upon booting mobiledevice 110 or upon a command from operating system 222 or a user 120,processor 210 may retrieve a copy of content locking engine 224 (orsoftware portions thereof) from storage 250 and load it into memory 220.Processor 210 may then iteratively execute the instructions of contentlocking engine 224.

Peripheral interface 240 may be configured to interface with anyauxiliary device that connects to mobile device 110 but that is notnecessarily a part of the core architecture of mobile device 110. Aperipheral may be operable to provide extended functionality to mobiledevice 110, and may or may not be wholly dependent on mobile device 110.In some cases, a peripheral may be a computing device in its own right.Peripherals may include input and output devices such as displays,terminals, printers, keyboards, mice, modems, network controllers,sensors, transducers, actuators, controllers, data acquisition buses,cameras, microphones, speakers, or external storage by way ofnon-limiting example.

Peripheral interface 240 may connect to one or more peripherals,including display 242, microphone 244, speaker 246, and sensors 248.Sensors 248 may include any of the sensors disclosed herein. In oneexample, sensors 248 include a proximity sensor 150 or an interface toproximity sensor 150. In other examples, any appropriate sensor fordetermining whether user 120 is operating mobile device 110 may be usedas or in conjunction with proximity sensor 150.

Sensors 248 may also include a speed or velocity sensor. The speed orvelocity sensor may include a GPS, which will indicate both speed anddirection. In another example, an accelerometer and integrator, or otherspeed detector, may be used to detect speed. An interface may also beprovided in some cases to automobile 130's built-in speedometer. In yetanother example, GPS is used for speed detection, and an accelerometerwith integrator is used to refine and/or update the GPS signal. Acompass may also provide direction to supplement any of the foregoing,or any other appropriate speed sensor may be used.

It should be noted that in certain contexts, mobile device 110 need notbe in actuality mobile. In this context, it should be understood thatthe term “mobile device” is used by way of example only to provide auseful basis for discussion. However, as discussed above, otherarchitectures are possible. For example, user 120 may operate a wearabledevice 160, which may communicatively couple to an embedded computerwith an automobile 130. In that case, wearable device 160 may not havethe storage or computing capacity to provide all the necessary logic andinterfaces for carrying out methods according to this Specification. Inthat case, content locking engine 224 may be provided on a remoteserver. It will be appreciated that many other configurations andarchitectures are possible, and it is intended that such are includedwithin the scope of the present Specification.

FIG. 3 is a front view of an example user interface that may be providedaccording to one or more examples of the present Specification. Userinterface 300 may be configured to display on a mobile phone, such as aphone operating Android, iOS, Windows mobile, or other suitable mobileoperating system. In certain examples, user interface 300 may beconfigured to operate with a GPS subsystem within mobile device 110. Inthat case, display 140 of automobile 130 may not be configured as asimple large-font high-contrast text display. Rather, display 140 mayprovide a full, high-resolution graphical user interface, which maydisplay GPS map data, or other useful data. In some cases, mobile device110 may provide a virtual terminal interface, so that display 140 ofvehicle 130 can mirror display 242 of mobile device 110.

In one or more embodiments of the present Specification, user interface300 may provide an initial configuration screen that user 120 may use toconfigure options before operating automobile 130. In that case, certaincontrols may be provided, such as a settings menu 310, and a startbutton 320. Settings menu 310 may provide access to a configurationscreen, such as the screen of FIG. 4.

Start button 320 may manually lock mobile device 110 into drive mode, ormay place mobile device 110 into an automatic mode.

FIG. 4 is a front view of a user interface 400 provided in one or moreexamples of the present Specification. User interface 400 provides anexample settings menu. In this example, a first control 410 provides aparental or administrator mode, in which content locking engine 224 maybe locked into its active or automatic state unless a password or othersecurity token is provided.

Selection menu 420 may be used in one embodiment only in administratormode, to select certain limited applications that may be enabled whileautomobile 130 is moving. For example, a GPS or map application may beenabled, and a music player may be enabled. In some contexts, thisaction may also be used to indicate whether a hands-free link should beenabled during motion, or whether any other suitable application shouldsimilarly be enabled. Selection menu 430 provides an option for anautomatic reply, such as to text messages, or an automated voicemailmessage that indicates that user 120 is presently operating automobile130 and therefore cannot currently respond to text messages or phonecalls.

Selection menu 430 may provide, by way of nonlimiting example, aselection box where one of several preconfigured messages may beselected, where a voicemail message may be recorded, or a free-form textinput string on which user 120 can provide his own customized message.

In selection menu 440, a parent or administrator may select a messagethat is automatically provided when user 120 is operating vehicle 130.The parent or administrator may also receive a log of events, such as ifuser 120 or passenger 124 manually disables drive mode while in motion.

FIG. 5 is an example user interface 500 that may be displayed whilecontent locking engine 224 is in drive mode. In this case, the displaymay be highly simplified, and may provide only a few limited functions.For example, in this case a large text display provides the user'scurrent speed. Because the user is not currently in motion, mobiledevice 110 is unlocked. Other options include a stop button 510, whichenables user 120 to exit the mobile application, a phone button 530 thatenables user 120 to make phone call, a music button 540 that enablesuser 120 to launch a music application, and a map button 550 thatenables user 120 to enter, for example, GPS navigation mode.

FIG. 6 is a front view of a graphical user interface 500-2, in whichautomobile 130 is driving at 55 mph. In this case, stop button 510 maybe disabled or hidden. Touch icons 530, 540, and 550 may also bedisabled in certain embodiments, or may be available only if anadministrator has enabled them such as by menu 420 of FIG. 4. In oneexample, all touch-based interactions on display 242 are completelydisabled, and mobile device 110 may receive only voice commands. Itshould be noted that this mode is provided by way of nonlimiting exampleonly, and that other configurations are possible according to certaindesign parameters that a system designer may need to determine at designtime.

FIG. 7 is a flow chart of a method 700 performed, for example, by acontent locking engine 224 of FIG. 2 according to one or more examplesof the present Specification.

In block 702, content locking engine 224 receives from user 120 a modeinput.

In decision block 714, content locking engine 224 determines whether themode input is to place mobile device 110 into automatic mode. In block730, if mobile device 110 is in automatic mode, then content lockingengine 224 collects data inputs from the data sources disclosed herein.

In decision block 760, content locking engine 224 determines whetherautomobile 130 is in motion, in this case motion being defined asexceeding a speed threshold. In block 770, if automobile 130 is not inmotion, then in block 770, mobile device 110 in an unlocked state. Itshould be noted that as used throughout this Specification, the terms“lock” and “unlock” should be construed to include either activelychanging the device to the state, or if the device is already in thatstate, leaving it in that state.

Returning to block 760 if automobile 130 is in motion, then in block750, content locking engine 224 locks mobile device 110.

In decision block 782, content locking engine 224 determines whether itis in an interface mode. This determines, for example, whether any userinterface is provided.

If content locking engine 224 is not in interface mode, then in block790 the method is done.

In block 782, if content locking engine 224 is an interface mode, thenin block 780, content locking engine 224 manages user interface 242according to its current configuration, and control returns to block702.

Returning to block 714, if content locking engine 224 is not inautomatic mode, then in decision block 710, content locking engine 224determines whether the user's mode input at block 702 was a manual lock.

If a manual lock was provided, then in block 750, content locking engine224 locks mobile device 110, and the flow continues as described abovein connection with block 710.

Returning to block 710, if a manual lock was not provided, then indecision block 720, content locking engine 224 determines whether amanual unlock command was provided. It should be noted that a manualunlock command may take one of various forms. In some cases, it may be asimple button or selection. In other cases, it may include a hardcodedor user selectable action that is too complicated for user 120 to safelyprovide while driving. This special mode may be enabled only whenvehicle 130 is in motion. This helps to ensure that user 120 does notprovide a manual unlock while driving an automobile 130. However, itwill enable another user, such as passenger 124 to unlock mobile device110 to use.

If user 120 or passenger 124 provide a manual unlock, then in block 770,mobile device 110 is unlocked, and flow proceeds according to thedescription of block 770 provided above.

Returning to block 720, if a manual unlock is not provided, then controlmay return to starting block 700, and await additional user input.

The foregoing outlines features of several embodiments so that thoseskilled in the art may better understand the aspects of the presentdisclosure. Those skilled in the art should appreciate that they mayreadily use the present disclosure as a basis for designing or modifyingother processes and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein.Those skilled in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions, andalterations herein without departing from the spirit and scope of thepresent disclosure.

In an embodiment of the foregoing method wherein mobile device 110 isrunning an Android operating system, a Java reflection mechanism may beused to interface with the “hidden” telephony interface, which enablescontent locking engine 224 to hook into phone calls. This can be used toprevent mobile device 110 from ringing while in a locked mode.

Example code to add a view to the system window manager includes:

WindowManager wm =(WindowManager)getApplicationContext( ).getSystemService(Context.WINDOW_SERVICE); try{ Tracer.d(TAG,“unhidinglock screen”); wm.addView(mTopView, mLockParams); }catch(Exceptione){Tracer.d(TAG,“Exception unhiding view....”); e.printStackTrace( ); }

Example code to get a telephone manager interface includes:

finalMethod m = mTelephonyManager.getClass().getDeclaredMethod(“getITelephony”); m.setAccessible(true);returnITelephony.class.cast(m.invoke(mTelephonyManager));

The particular embodiments of the present disclosure may readily includea system on chip (SOC) central processing unit (CPU) package. An SOCrepresents an integrated circuit (IC) that integrates components of acomputer or other electronic system into a single chip. It may containdigital, analog, mixed-signal, and radio frequency functions: all ofwhich may be provided on a single chip substrate. Other embodiments mayinclude a multi-chip-module (MCM), with a plurality of chips locatedwithin a single electronic package and configured to interact closelywith each other through the electronic package. In various otherembodiments, the digital signal processing functionalities may beimplemented in one or more silicon cores in Application SpecificIntegrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), andother semiconductor chips.

In example implementations, at least some portions of the processingactivities outlined herein may also be implemented in software. In someembodiments, one or more of these features may be implemented inhardware provided external to the elements of the disclosed figures, orconsolidated in any appropriate manner to achieve the intendedfunctionality. The various components may include software (orreciprocating software) that can coordinate in order to achieve theoperations as outlined herein. In still other embodiments, theseelements may include any suitable algorithms, hardware, software,components, modules, interfaces, or objects that facilitate theoperations thereof.

Additionally, some of the components associated with describedmicroprocessors may be removed, or otherwise consolidated. In a generalsense, the arrangements depicted in the figures may be more logical intheir representations, whereas a physical architecture may includevarious permutations, combinations, and/or hybrids of these elements. Itis imperative to note that countless possible design configurations canbe used to achieve the operational objectives outlined herein.Accordingly, the associated infrastructure has a myriad of substitutearrangements, design choices, device possibilities, hardwareconfigurations, software implementations, equipment options, etc.

Any suitably configured processor component can execute any type ofinstructions associated with the data to achieve the operations detailedherein. Any processor disclosed herein could transform an element or anarticle (for example, data) from one state or thing to another state orthing. In another example, some activities outlined herein may beimplemented with fixed logic or programmable logic (for example,software and/or computer instructions executed by a processor) and theelements identified herein could be some type of a programmableprocessor, programmable digital logic (for example, a field programmablegate array (FPGA), an erasable programmable read only memory (EPROM), anelectrically erasable programmable read only memory (EEPROM)), an ASICthat includes digital logic, software, code, electronic instructions,flash memory, optical disks, CD-ROMs, DVD ROMs, magnetic or opticalcards, other types of machine-readable mediums suitable for storingelectronic instructions, or any suitable combination thereof. Inoperation, processors may store information in any suitable type ofnon-transitory storage medium (for example, random access memory (RAM),read only memory (ROM), field programmable gate array (FPGA), erasableprogrammable read only memory (EPROM), electrically erasableprogrammable ROM (EEPROM), etc.), software, hardware, or in any othersuitable component, device, element, or object where appropriate andbased on particular needs. Further, the information being tracked, sent,received, or stored in a processor could be provided in any database,register, table, cache, queue, control list, or storage structure, basedon particular needs and implementations, all of which could bereferenced in any suitable timeframe. Any of the memory items discussedherein should be construed as being encompassed within the broad term‘memory.’ Similarly, any of the potential processing elements, modules,and machines described herein should be construed as being encompassedwithin the broad term ‘microprocessor’ or ‘processor.’ Furthermore, invarious embodiments, the processors, memories, network cards, buses,storage devices, related peripherals, and other hardware elementsdescribed herein may be realized by a processor, memory, and otherrelated devices configured by software or firmware to emulate orvirtualize the functions of those hardware elements.

Computer program logic implementing all or part of the functionalitydescribed herein is embodied in various forms, including, but in no waylimited to, a source code form, a computer executable form, and variousintermediate forms (for example, forms generated by an assembler,compiler, linker, or locator). In an example, source code includes aseries of computer program instructions implemented in variousprogramming languages, such as an object code, an assembly language, ora high-level language such as OpenCL, Fortran, C, C++, JAVA, or HTML foruse with various operating systems or operating environments. The sourcecode may define and use various data structures and communicationmessages. The source code may be in a computer executable form (e.g.,via an interpreter), or the source code may be converted (e.g., via atranslator, assembler, or compiler) into a computer executable form.

In the discussions of the embodiments above, the capacitors, buffers,graphics elements, interconnect boards, clocks, DDRs, camera sensors,dividers, inductors, resistors, amplifiers, switches, digital core,transistors, and/or other components can readily be replaced,substituted, or otherwise modified in order to accommodate particularcircuitry needs. Moreover, it should be noted that the use ofcomplementary electronic devices, hardware, non-transitory software,etc. offers an equally viable option for implementing the teachings ofthe present disclosure.

In one example embodiment, any number of electrical circuits of theFIGURES may be implemented on a board of an associated electronicdevice. The board can be a general circuit board that can hold variouscomponents of the internal electronic system of the electronic deviceand, further, provide connectors for other peripherals. Morespecifically, the board can provide the electrical connections by whichthe other components of the system can communicate electrically. Anysuitable processors (inclusive of digital signal processors,microprocessors, supporting chipsets, etc.), memory elements, etc. canbe suitably coupled to the board based on particular configurationneeds, processing demands, computer designs, etc. Other components suchas external storage, additional sensors, controllers for audio/videodisplay, and peripheral devices may be attached to the board as plug-incards, via cables, or integrated into the board itself. In anotherexample embodiment, the electrical circuits of the FIGURES may beimplemented as stand-alone modules (e.g., a device with associatedcomponents and circuitry configured to perform a specific application orfunction) or implemented as plug-in modules into application specifichardware of electronic devices.

Note that with the numerous examples provided herein, interaction may bedescribed in terms of two, three, four, or more electrical components.However, this has been done for purposes of clarity and example only. Itshould be appreciated that the system can be consolidated in anysuitable manner. Along similar design alternatives, any of theillustrated components, modules, and elements of the FIGURES may becombined in various possible configurations, all of which are clearlywithin the broad scope of this Specification. In certain cases, it maybe easier to describe one or more of the functionalities of a given setof flows by only referencing a limited number of electrical elements. Itshould be appreciated that the electrical circuits of the FIGURES andits teachings are readily scalable and can accommodate a large number ofcomponents, as well as more complicated/sophisticated arrangements andconfigurations. Accordingly, the examples provided should not limit thescope or inhibit the broad teachings of the electrical circuits aspotentially applied to a myriad of other architectures.

Numerous other changes, substitutions, variations, alterations, andmodifications may be ascertained to one skilled in the art and it isintended that the present disclosure encompass all such changes,substitutions, variations, alterations, and modifications as fallingwithin the scope of the appended claims. In order to assist the UnitedStates Patent and Trademark Office (USPTO) and, additionally, anyreaders of any patent issued on this application in interpreting theclaims appended hereto, Applicant wishes to note that the Applicant: (a)does not intend any of the appended claims to invoke paragraph six (6)of 35 U.S.C. section 112 as it exists on the date of the filing hereofunless the words “means for” or “steps for” are specifically used in theparticular claims; and (b) does not intend, by any statement in theSpecification, to limit this disclosure in any way that is not otherwisereflected in the appended claims.

Implementation Examples

There is disclosed in an example 1, a mobile device comprising: a speeddetector; and one or more logic elements comprising a content lockingengine, operable for: detecting that the mobile device is in motionabove a threshold speed; and causing the mobile device to enter a lockedstate, wherein the locked state comprises disabling at least a portionof a user interface.

There is disclosed in an example 2, the mobile device of example 1,wherein the speed detector comprises a global positioning system (GPS)receiver.

There is disclosed in an example 3, the mobile device of example 1,wherein the speed detector comprises an accelerometer and an integrator.

There is disclosed in an example 4, the mobile device of example 1,wherein the content locking engine is further operable for providedaccess to at least one application while the mobile device is in thelocked state.

There is disclosed in an example 5, the mobile device of example 4,wherein at least one application comprises an application selected fromthe list consisting of a music player, a navigation system, and ahands-free link.

There is disclosed in an example 6, the mobile device of example 1,wherein the content locking engine is further operable for providing anautomatic response to an incoming communication.

There is disclosed in an example 7, the mobile device of example 1,wherein the content locking engine is further operable for providing atleast limited functionality via a hands-free interface while in thelocked state.

There is disclosed in an example 8, the mobile device of example 1,wherein the content locking engine is further operable for causing themobile device to exit the locked state upon receiving a user command.

There is disclosed in an example 9, the mobile device of example 8,wherein the user command is selected to be difficult to perform whileoperating a motor vehicle.

There is disclosed in an example 10, the mobile device of example 1,further comprising a user location detector, and wherein the contentlocking engine is operable for causing the mobile device to enter thelocked state only if the user location detector determines that a userof the mobile device is operating a motor vehicle.

There is disclosed in an example 11, the mobile device of example 10,wherein the user location detector comprises a proximity switchsensitive to a user located in a driver's seat of a motor vehicle.

There is disclosed in an example 12, the mobile device of example 10,wherein the user location detector comprises a wearable computingdevice.

There is disclosed in an example 13, the mobile device of example 1,wherein the content locking engine further comprises an administrativeinterface having an authentication mechanism.

There is disclosed in an example 14, one or more tangiblecomputer-readable mediums having stored thereon executable instructionsoperable for providing a content locking engine operable for: detectingthat a mobile device is in motion above a threshold speed; and causingthe mobile device to enter a locked state, wherein the locked statecomprises disabling at least a portion of a user interface.

There is disclosed in an example 15, the one or more tangiblecomputer-readable mediums of example 14, wherein detecting that themobile device is in motion comprises receiving global positioning system(GPS) data.

There is disclosed in an example 16, the one or more tangiblecomputer-readable mediums of example 14, wherein detecting that themobile device is in motion comprises receiving accelerometer data.

There is disclosed in an example 17, the one or more tangiblecomputer-readable mediums of example 14, wherein the content lockingengine is further operable for provided access to at least oneapplication while the mobile device is in the locked state.

There is disclosed in an example 18, the one or more tangiblecomputer-readable mediums of example 14, wherein the content lockingengine is further operable for providing an automatic response to anincoming communication.

There is disclosed in an example 19, the one or more tangiblecomputer-readable mediums of example 14, wherein the content lockingengine is further operable to provide at least limited functionality viaa hands-free interface while the mobile computing device is in thelocked state.

There is disclosed in an example 20, the one or more tangiblecomputer-readable mediums of example 14, wherein the content lockingengine is further operable to cause the mobile computing device to exitthe locked state upon receiving a user command.

There is disclosed in an example 21, the one or more tangiblecomputer-readable mediums of example 20, wherein the user command isselected to be difficult to perform while operating a motor vehicle.

There is disclosed in an example 22, the one or more tangiblecomputer-readable mediums of example 14, wherein the content lockingengine is further operable to cause the mobile device to enter thelocked state only if it is determined that a user of the mobile deviceis operating a motor vehicle.

There is disclosed in an example 23, the one or more tangiblecomputer-readable mediums of example 22, wherein determining that theuser is operating the motor vehicle comprises communicating with awearable computing device.

There is disclosed in an example 24, a method for locking a mobiledevice while in motion comprising: detecting that the mobile device isin motion above a threshold speed; and causing the mobile device toenter a locked state, wherein the locked state comprises disabling atleast a portion of a user interface.

There is disclosed in an example 25, the method of example 24, furthercomprising determining that a user of the mobile device is operating amotor vehicle.

There is disclosed in an example 26, a method comprising the performingthe instructions disclosed in any of examples 14-23.

There is disclosed in example 27, an apparatus comprising means forperforming the method of example 26.

There is disclosed in example 28, the apparatus of claim 27, wherein theapparatus comprises a processor and memory.

There is disclosed in example 29, the apparatus of claim 28, wherein theapparatus further comprises a computer-readable medium having storedthereon software instructions for performing the method of example 26.

1. A mobile device comprising: a speed detector; a user locationdetector to determine that a user of the mobile device is in a driver'sposition within a vehicle; and one or more logic elements comprising acontent locking engine, operable for: detecting that the mobile deviceis in motion above a threshold speed; and causing the mobile device toenter a locked state, wherein the locked state comprises disabling atleast a portion of a user interface; wherein the content locking engineis operable for causing the mobile device to enter the locked state onlyif the user location detector determines that the user is in thedriver's position.
 2. The mobile device of claim 1, wherein the speeddetector comprises a global positioning system (GPS) receiver.
 3. Themobile device of claim 1, wherein the speed detector comprises anaccelerometer and an integrator.
 4. The mobile device of claim 1,wherein the content locking engine is further operable for providedaccess to at least one application while the mobile device is in thelocked state.
 5. The mobile device of claim 4, wherein at least oneapplication comprises an application selected from the list consistingof a music player, a navigation system, and a hands-free link.
 6. Themobile device of claim 1, wherein the content locking engine is furtheroperable for providing an automatic response to an incomingcommunication.
 7. The mobile device of claim 1, wherein the contentlocking engine is further operable for providing at least limitedfunctionality via a hands-free interface while in the locked state. 8.The mobile device of claim 1, wherein the content locking engine isfurther operable for causing the mobile device to exit the locked stateupon receiving a user command.
 9. The mobile device of claim 8, whereinthe user command is selected to be difficult to perform while operatinga motor vehicle.
 10. (canceled)
 11. The mobile device of claim 1,wherein the user location detector comprises a proximity switchsensitive to a user located in a driver's seat of a motor vehicle. 12.The mobile device of claim 1, wherein the user location detectorcomprises a wearable computing device.
 13. The mobile device of claim 1,wherein the content locking engine further comprises an administrativeinterface having an authentication mechanism.
 14. One or more tangible,non-transitory computer-readable mediums having stored thereonexecutable instructions operable for providing a content locking engineoperable for: detecting that a mobile device is in motion above athreshold speed; detecting that a user of the mobile device occupies adriver's position within a vehicle; and causing the mobile device toenter a locked state, wherein the locked state comprises disabling atleast a portion of a user interface.
 15. The one or more tangible,non-transitory computer-readable mediums of claim 14, wherein detectingthat the mobile device is in motion comprises receiving globalpositioning system (GPS) data.
 16. The one or more tangible,non-transitory computer-readable mediums of claim 14, wherein detectingthat the mobile device is in motion comprises receiving accelerometerdata.
 17. The one or more tangible, non-transitory computer-readablemediums of claim 14, wherein the content locking engine is furtheroperable for provided access to at least one application while themobile device is in the locked state.
 18. The one or more tangible,non-transitory computer-readable mediums of claim 14, wherein thecontent locking engine is further operable for providing an automaticresponse to an incoming communication.
 19. The one or more tangible,non-transitory computer-readable mediums of claim 14, wherein thecontent locking engine is further operable to provide at least limitedfunctionality via a hands-free interface while the mobile computingdevice is in the locked state.
 20. The one or more tangible,non-transitory computer-readable mediums of claim 14, wherein thecontent locking engine is further operable to cause the mobile computingdevice to exit the locked state upon receiving a user command.
 21. Theone or more tangible, non-transitory computer-readable mediums of claim20, wherein the user command is selected to be difficult to performwhile operating a motor vehicle.
 22. (canceled)
 23. The one or moretangible, non-transitory computer-readable mediums of claim 14, whereindetermining that the user is operating the motor vehicle comprisescommunicating with a wearable computing device.
 24. A method for lockinga mobile device while in motion comprising: detecting that the mobiledevice is in motion above a threshold speed; determining that a user ofthe mobile device occupies a driver's position of a vehicle; and causingthe mobile device to enter a locked state, wherein the locked statecomprises disabling at least a portion of a user interface. 25.(canceled)
 26. The method of claim 24, wherein detecting that the mobiledevice is in motion comprises receiving global positioning system (GPS)data.
 27. The method of claim 24, wherein detecting that the mobiledevice is in motion comprises receiving accelerometer data.
 28. Themethod of claim 24, further comprising providing access to at least oneapplication while the mobile device is in the locked state.